k平均法(K-means clustering)
1. 各データ点$ {𝒙_1,…,𝒙_𝑁}に対してランダムにクラスターを1つ割り当てる。
2. 各クラスターに割り当てられた点からクラスターの重心を計算し更新する。
3. 各データ点に対して、全てのクラスターの重心との距離を計算し、最も距離が近いクラスタに割り当て直す。
4. 2-3を繰り返し、割り当てられるクラスタが変化しなくなったら終了。
つまり、以下の値を最小化するような割り当てを探している
$ J = \sum_{n=1}^N \sum_{k=1}^K r_{nk}||x_n-\mu_k||^2.
クラスターの重心の更新は以下のように書ける
$ \mu_k = \frac{\sum_{n=1}^N r_{nk}x_n}{\sum_{n=1}^N r_{nk}}